经常有客户遇到这样的问题:怎么我的触摸屏和PLC通讯不上?
比方说下面遇到的两个问题:
1、触摸屏和西门子PLC通讯不上,老是提示PLC没反应,该怎么设置呢?
解决思路:你设置同样的波特率,同样的位数,同样的停止位,站号不能相同,就是说plc和触摸屏地址不能相同,然后确定通讯线是否正常……
2、如何通过程序判断触摸屏与PLC通讯出现故障?
解决思路:通常方法是用心跳检测,定义一个bool,HMI固定频率将该点置位,PLC收到该点为ON信号后将其复位。若在一段时间内,比如5s内没有收到该点为ON的信号,则认为通讯中断。PLC把memory clock字节传到屏上,屏用脚本把这个字节的值赋值给另外的一个PLC内的地址,然后plc内判断返回的字节两个扫描周期是否一样,如果一样说明通讯中断。
举个例子,请看图,步骤如下:
1、在PLC里建立DB1数据块,里面设两个开关量“PLC秒开关”和“人机响应开关”;
2、人机变量中连接这两个变量;
3、在人机“PLC秒开关”变量的属性----事件----数值变更中添加“取反位”,让“人机响应开关”变量随着“PLC秒开关”变化而变化;
4、在PLC程序块中编程,让“PLC秒开关”每0.5秒反转,再用TON延时指令让“人机响应开关”1秒内没有动作就输出 人机通信失败,因为人机通信异常后“人机响应开关”将不再会发生变化。
其实,市场上任何触摸屏与PLC通讯不上不外乎要确认四个问题:
(1)plc参数和工程里的是否一致;
(2)通讯线是否按照接线图的引脚接线;
(3)工程里设置的com口在屏上接的时候是否正确;
(4)参数和线确认OK,的情况下,看看是不是plc程序或是plc的地址问题。
1、先判断参数
用PLC的编程软件接上PLC测试看看PLC的参数是多少,工程里设置的参数是否和测试出来的一致。这里面有几个参数需要特别注意的:
(1)通信口的设置:要确认清楚PLC连接触摸屏的COM1口还是COM2口;
(2)设备类型:这个是最重要的,如果协议没选对的话,其他就不用说了;
(3)连接方式:PLC跟触摸屏的连线,确认好是RS485,还是RS232C;
(4)接口参数跟PLC站号:一定要跟PLC里面的设置一致。
2、在线模拟
用我们的组态软件,用PLC本身的通讯电缆和电脑相连接,在线模拟看看工程是否通讯的上。可以用个数值输入部件或是开关,对其操作,看看关掉模拟器之后再开在线模拟后之前的操作是否还在,是否直接提示NC(NC和之前操作没有写下去即为没有通上)具体的做法:
(1)PLC跟电脑要通过RS232进行连接。有的PLC有RS232的接口,有的没有,没有的可以通过转接头接到电脑上。
(2)新建一个简单的工程。放两个元器件,一个数值显示,一个数值输入。地址设置PLC里面的地址。
(3)工程参数设置一定要跟PLC里面的设置一样。
(4)点击在线模拟功能。
这样子做就可以很明显查看PLC能不能跟PC通信上。如果可以通信上就可以排除PLC方面的问题,跟参数设置的问题。
3、测试线
用万用表按照接线图的引脚定义测试接线。确认RS485,RS232C的做线是否正确,触摸屏与各种PLC接线的做法不一样。这个可以参照手册查看,这个是正常排查通信问题的基本方法。
END